## 数据库手动初始化 脚本 
import sys
import asyncio
from app.core.database import DatabaseInitializer
from app.utils.app_log import logger
from app.models import get_enabled_models,get_tortoise_models

async def db_init():
    logger.info(f"将初始化以下数据库表结构：{get_enabled_models()} {get_tortoise_models()}")
    """主函数 - 默认执行完整数据库初始化"""
    initializer = DatabaseInitializer()
    try:
        logger.info("执行完整的数据库初始化...")
        await initializer.run()
        logger.info("\n数据库初始化成功完成！")
        input("按回车键关闭窗口...")
    except KeyboardInterrupt:
        logger.warning("用户中断操作")
    except Exception as e:
        logger.error(f"初始化失败: {e}")
        input("按回车键关闭窗口...")
        sys.exit(1)
    finally:
        await initializer.close_database()


if __name__ == "__main__":
    asyncio.run(db_init())